package com.yanqu.road.entity.kowloon.enums;

public enum eKowloonShapeType {

    // =============== 【类型1】 ===============

    ZhiXian5("直线5个",
            new int[][]{
                    {1, 1, 1, 1, 1},
            },
            3,
            3,
            1,
            1),

    ZhiXianL("直线L形",
            new int[][]{
                    {1, 0, 0},
                    {1, 0, 0},
                    {1, 1, 1},
            },
            2,
            1,
            2,
            3),

    ZhiXianT("直线T形",
            new int[][]{
                    {1, 1, 1},
                    {0, 1, 0},
                    {0, 1, 0},
            },
            2,
            1,
            2,
            3),

    ZhiXianShiZi("直线十字",
            new int[][]{
                    {0, 1, 0},
                    {1, 1, 1},
                    {0, 1, 0},
            },
            2,
            1,
            2,
            3),
    ZhiXian4("直线4个",
            new int[][]{
                    {1, 1, 1, 1},
            },
            2,
            2,
            1,
            2),

    // =============== 【类型2】 ===============

    ZhiXian3("直线3个",
            new int[][]{
                    {1, 1, 1},
            },
            1,
            1,
            1,
            4),

    ;

    private String desc;
    private int[][] value;
    private int newBlockNum; //消除后产生的新方块数量
    private int newSkillLevel; //消除后产生的福袋等级
    private int newSkillNum; //消除后产生的福袋数量
    private int priority; //匹配优先级

    eKowloonShapeType(String desc, int[][] value, int newBlockNum, int newSkillLevel, int newSkillNum, int priority) {
        this.desc = desc;
        this.value = value;
        this.newBlockNum = newBlockNum;
        this.newSkillLevel = newSkillLevel;
        this.newSkillNum = newSkillNum;
        this.priority = priority;
    }

//    eKowloonShapeType(String desc, int[][] value) {
//        this.desc = desc;
//        this.value = value;
//    }

    public String getDesc() {
        return desc;
    }

    public int[][] getValue() {
        return value;
    }

    public int getNewBlockNum() {
        return newBlockNum;
    }

    public int getNewSkillLevel() {
        return newSkillLevel;
    }

    public int getNewSkillNum() {
        return newSkillNum;
    }

    public int getPriority() {
        return priority;
    }
}

